package com.project.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.project.bean.GradeBean;
import com.project.bean.RoleBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface IRoleMapper extends BaseMapper<RoleBean> {
    /** 先删除原来的所有角色，再添加新的角色集合*/
    void updateRole(@Param("userId") Integer userId, @Param("roleIdArray") Integer[] roleIdArray);
    /** 添加角色的权限集合*/
    void add(@Param("roleId") Integer roleId,@Param("gradeIdArray") Integer[]gradeIdArray);
    /** 1. 删除角色拥有的权限（角色权限中间表记录）
     * 2. 删除角色拥有的用户（用户角色中间表记录）
     * 3. 按角色Id删除角色*/
    void del(Integer roleId);
    /**
     * 查看角色权限集合
     * @param roleId 角色id
     * @return 权限信息
     */
    List<GradeBean> findById(Integer roleId);

    /**
     * 修改角色权限
     * @param roleId 角色Id
     * @param gradeIdArray 权限id集合
     * 按id角色名,删除角色原权限，添加新权限
     */
    void updateGrade(@Param("roleId") Integer roleId,@Param("gradeIdArray") Integer[]gradeIdArray);
}
